The use of digital processing systems, such as general purpose computer systems, to conduct a meeting by "videoconference" is becoming popular. Typically, a computer program, referred to as a teleconferencing application, is run on each computer system involved in the videoconference. Each program typically causes its system to capture images and sound recordings from the user of the system and to transmit this data to the other systems. Moreover, each program typically causes its system to display the transmitted images from the other systems and to reproduce the transmitted sound recordings from the other systems.
Many current teleconferencing applications are designed for small conferences among individuals who have all the information (e.g., names, addresses, configuration parameters, etc.) necessary to initiate a teleconference. For example, with respect to initiating teleconference requests (e.g., calling other computer systems via a teleconferencing application), many such teleconferencing applications were designed so that parties type in the names or addresses of others with whom a teleconference is desired. A user types into a field, or selects from a menu, a list of other users or computer systems with which a teleconference is desired. According to some applications, the user may also include configuration information or other parameters as preferences that will control or effect the teleconference. Typically, the initiator of the teleconference must initially have a list of the addresses of each other party to the teleconference, as well as a means for distinguishing different networks. The initiator must also have a means for distinguishing duplicate names; for example, two persons named "John Smith."
With respect to receiving teleconference requests, a different problem can arise when several individuals, any one of whom might be calling, have the same name; even if the party receiving a call (i.e., a teleconference request) can see the name of the caller, he or she might not know whether the call is one the receiver wants to accept. Even if the receiver can inspect the resource locator or other address of the caller, the receiver might have difficulty identifying the caller. A receiver would have to maintain a database of all possible callers and enough information to inform a user of the receiver of just who a caller is, if the user is going to be able to know who the caller is before answering the call. This problem is exacerbated when the computer system is coupled to a wide area network, or network of networks (like the Internet or World Wide Web) and literally anyone in the world might be calling--how is the receiver to identify the caller without actually accepting the call?
Some applications have ameliorated these problems somewhat by allowing for the creation of work groups that may be addressed collectively. The work group stores the address of each of the other participants in a possible teleconference, so that a user may, by selecting the work group, send a request for teleconference to each other party listed therein. A user either types in the name of the group with which a teleconference is desired, or (if only some of the parties are desired) selects individuals from among the members of the group by using a menu. This is only a limited solution, though, since at least initially the user must still type in the name to create the work group file within the teleconference application. Also, a user must know the name or address of each party with whom a teleconference is desired, and must get the address into the work group by typing without any typographical errors.
Also, a user must use the same teleconference application each time a teleconference with the work group is desired, because teleconferencing applications generally store addresses, if at all, at the application level. There is no guarantee that a later, more useful teleconferencing telecommunications application that may become available in the future would provide reverse-compatibility with any list a user might enter into an application today.
New parties joining preexisting networks face a daunting task of creating work groups, even though the complete work group may exist on another machine. If a new member joins a group of users who already had teleconferencing capabilities over a given network, and the new user also wants the ability to request teleconferences with the previously enrolled members, the new member must launch his or her favorite teleconferencing application and re-enter the complete list of pre-existing members into a file on his or her computer. The list will not be available to any other application on the new member's computer system, though, since the work group is maintained in an address book within the application. Alternately, the new user might copy a version of the application that contains a group file from a preexisting user, but then the new member cannot use an application of his own choosing, since he is limited to a copy from someone else.
The explosion of teleconferencing opportunities on the Internet has made application-based teleconferencing obsolete. The exponential growth in the number of users, each of whom may be a member of any number of user groups and may have any subset of the set of possible teleconferencing applications, make establishment of a teleconference problematic for the sender, and make recognizing a caller problematic for the receiver.
Therefore, it is desirable for a computer system having at least one teleconference application resident thereon to show a picture corresponding to an incoming call, to allow a user of the computer system to decide whether to accept the call. It is also desirable for a computer system to provide the ability to store previously received pictures in a resource, so that when the user wants to initiate a teleconference the user may consult the picture to select other parties. It is further desirable for a computer system to store a list of addresses and other information corresponding to each of a number of other computer systems with which a teleconference might be established. It is further desirable for a resource storing a plurality of addresses to be independent of any particular application, such that any of a number of applications might access the list of addresses stored in the resource, so that, as new teleconference applications become available, permanent reverse compatibility can be assured. It is further desirable for a resource storing a list of addresses of computer systems on one or more networks to be portable, such that the resource may be transferred or copied from one computer system to another, the computer system to which the resource is copied or transferred gaining thereby the ability to initiate teleconferences, or recognize incoming teleconference requests, with any address stored in the resource. It is further desirable that the resource be independent of any particular location, so that a teleconference may be established from any computer system, anywhere in the world, having access to a network medium. It is further desirable that a picture or other graphical image be presented on a computer system when a teleconference request is received, and that such image be presented before the computer system accepts or rejects initiation of a teleconference or otherwise responds.